#!/bin/bash

# 后端容器单独启动脚本
# Backend Container Startup Script

set -e

echo "🚀 启动后端容器..."
echo "================================"

# 检查 Docker 和 Docker Compose
if ! command -v docker &> /dev/null; then
    echo "❌ Docker 未安装，请先安装 Docker"
    exit 1
fi

if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
    echo "❌ Docker Compose 未安装，请先安装 Docker Compose"
    exit 1
fi

# 进入项目根目录
cd "$(dirname "$0")/.."

echo "📁 当前目录: $(pwd)"

# 检查 docker-compose.yml 是否存在
if [ ! -f "docker-compose.yml" ]; then
    echo "❌ docker-compose.yml 不存在"
    exit 1
fi

echo "🚀 单独启动后端容器..."

# 使用新版本的 docker compose 或旧版本的 docker-compose
if docker compose version &> /dev/null; then
    COMPOSE_CMD="docker compose"
else
    COMPOSE_CMD="docker-compose"
fi

# 检查是否需要构建镜像
echo "🏗️  检查并构建后端镜像..."
$COMPOSE_CMD build backend

# 只启动后端服务
$COMPOSE_CMD up -d backend

echo "⏳ 等待后端服务启动..."
sleep 10

# 检查服务状态
echo "📊 检查服务状态..."
$COMPOSE_CMD ps backend

echo "✅ 后端容器启动完成！"
echo "🚀 API 地址: http://localhost:3001"
echo "📚 Swagger 文档: http://localhost:3001/api"
echo ""
echo "📄 查看日志: $COMPOSE_CMD logs -f backend"
echo "🛑 停止容器: $COMPOSE_CMD stop backend"
echo "🗑️  删除容器: $COMPOSE_CMD down backend"
echo ""
echo "⚠️  注意: 后端容器依赖 MySQL 和 Redis，请确保它们已启动"